<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function Star(age, name) {
        //     this.age = age
        //     this.name = name
        //     this.sing = function () {
        //         console.log("我可以唱歌")
        //     }
        // }
        // let ldh = new Star(35, "刘德华")
        // console.log(ldh) //35,刘德华

        // function Star(uname, height, weight) {
        //     this.uname = uname;
        //     this.height = height;
        //     this.weight = weight;

        //     this.say = function () {
        //         console.log(`我是${this.uname},我身高${this.height}厘米，体重${
        //             this.weight}公斤`);
        //     }
        // }

        // var ldh = new Star("刘德华", 174, 80)
        // ldh.say()

        // var lyf = new Star("刘亦菲", 174, 64)
        // ldh.say()

        // function circle(r){
        //     this.r = r;
        //     // 计算周长
        //     this.length = function(){
        //         return 2*math.PI*this.r
        //     }
        //     // 计算面积
        //     this.area = function(){
        //         return Math.PI*this.r*this.r
        //     }
        // }
        // var s = new circle(5)
        // console.log("周长：",s.length());
        // console.log("面积",s.area());

        //定义一个类
        // class Star {
        //     //构造函数
        //     constructor(uname, height, weight) {
        //         //this指向实例化对象
        //         this.uname = uname;
        //         this.height = height;
        //         this.weight = weight;
        //     }

        //     say() {
        //         return `我是${this.uname}，身高${this.height}厘米，体重${this.weight}公斤`
        //     }
        // }

        // var ldh = new Star("刘德华", 185, 80)
        // console.log(ldh.say())


        // es6继承
        // 父类 Person
        // class Person {
        //     constructor(uname, age) {

        //         //属性
        //         this.uname = uname;
        //         this.age = age
        //     }

        //     //方法
        //     say() {
        //         return `我是${this.uname}，我年龄${this.age}岁`
        //     }
        // }
            

        // //子类Student
        // class Student extends Person {
        //     constructor(uname, age) {
        //         // this.uname = uname;
        //         // this.age = age;
        //         super(uname, age)
        //     }

        // }


        // var s1 = new Student("小红", 18)
        // console.log(s1.say())


        //子类Teacher

        function fun(n){
            if(n == 1) return 1
            return n* fun(n-1)
        }
        fn(5)
    </script>
</body>

</html>